package gov.tax.rti.base.security.dao.impl;

import gov.tax.rti.base.jdbc.BaseJdbcDaoSupport;
import gov.tax.rti.base.security.entity.Gnbq;
import gov.tax.rti.core.util.RtiConstants;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Repository;

/**
 * 功能标签数据访问JDBC实现类
 * 
 * @since 2013年11月8日
 * @author jimmy.li
 * @version 1.00 2013年11月8日
 */
@Repository
public class GnbqJdbcImpl extends BaseJdbcDaoSupport<Gnbq,String>{

	/**
	 * 获取所有功能标签
	 * @return
	 * @since 2013年11月8日
	 * @author jimmy.li
	 * @version 1.00 2013年11月8日
	 */
	public List<Gnbq> getAllGnbq(){
		StringBuffer sb = new StringBuffer();
		sb.append("SELECT B.*,C.GLBQ_DM ");
		sb.append(" FROM "+RtiConstants.SCHEMA+".RTI_GNBQ B ");
		sb.append(" LEFT JOIN RTI_GNMX_TPJG C ON(C.GNBQ_DM = B.GNBQ_DM)");
	
		return getJdbcTemplate().query(sb.toString(),new GnbqRowMapper());
	}
	
	/**
	 * 功能标签记录匹配类
	 * 
	 * @since 2013年11月8日
	 * @author jimmy.li
	 * @version 1.00 2013年11月8日
	 */
	private class GnbqRowMapper implements RowMapper<Gnbq>{
		@Override
		public Gnbq mapRow(ResultSet rs, int arg1) throws SQLException {
			Gnbq gnbq = new Gnbq();
			gnbq.setDm(rs.getString("GNBQ_DM"));
			gnbq.setYxbz(rs.getInt("YXBZ"));
			gnbq.setQysj(rs.getDate("QYSJ"));
			gnbq.setSxsj(rs.getDate("SXSJ"));
			gnbq.setBm(rs.getString("GNBQ_BM"));
			gnbq.setMc(rs.getString("GNBQ_MC"));
			gnbq.setSy(rs.getString("GNBQ_SY"));
			gnbq.setSx(rs.getString("GNBQ_SX"));
			//gnbq.setXzb(rs.getInt("XZB"));
			//gnbq.setYzb(rs.getInt("YZB"));
			//gnbq.setGnmxDm(rs.getString("GNMX_DM"));
			gnbq.setGnbqSx(rs.getString("GNBQ_SX"));
			gnbq.setQdzl(rs.getString("QDZL"));
			gnbq.setQdcs(rs.getString("QDCS"));
			gnbq.setParentId(rs.getString("GLBQ_DM"));
			return gnbq;
		}
	}
}
